package com.qqt.csr.route.vo.resp;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.*;
import lombok.*;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.List;

/**
 * 客服路由业务规则
 */
@Getter
@Setter
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
@JsonIgnoreProperties(ignoreUnknown = true)
@Schema(name = "RouteBizRuleRespVO", description = "路由的业务规则")
public class RouteBizRuleRespVO implements Serializable {
    private static final long serialVersionUID = 1L;

    @Schema(description = "业务名称",requiredMode = Schema.RequiredMode.REQUIRED)
    private String name;

    /**
     * 服务时间id
     */
    @Schema(description = "服务时间id",requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer bizTimeId;

    /**
     * 非策略时间进线话术
     */
    @Schema(description = "非策略时间进线话术",requiredMode = Schema.RequiredMode.REQUIRED)
    private String restTimeInTip;

    /**
     * 技能组id集合
     */
    @Schema(description = "技能组id集合",requiredMode = Schema.RequiredMode.REQUIRED)
    private List<Long> skillSetIds;

    @Schema(description = "分发规则：0 随机分配；1 轮询分配；2 会话量少优先分配；3 会话时长低优先分配",requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer distributeType;

    /**
     * 是否熟客优先：0 否；1 是
     */
    @Schema(description = "是否熟客优先：0 否；1 是",requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer acquaintanceFirst;

    /**
     * 多少天内熟客优先
     */
    @Schema(description = "多少天内熟客优先",requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer acquaintanceFirstLimit;
}